/*
 * Reserva.java
 *
 * Created on 4 de julio de 2007, 05:22 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package everest3.procesosBibliotecarios;

import java.util.Vector;
import tablasYBasesdeDatos.Conexion;

/**
 *
 * @author estudiante
 */
public class Reserva {
    
    /** Creates a new instance of Reserva */
    public Reserva() {
    }
    
    public static int guardarReserva(Vector datos)
    {
        Conexion con = new Conexion();
        con.conectar("everest","postgres","root");
        String sql = "INSERT INTO reservaslevel1 VALUES('"+datos.elementAt(0).toString()+"','"//fecha en q se hizo la reserva
                                                          +datos.elementAt(1).toString()+"',"//hora en q se hizo la reserva
                                                          +datos.elementAt(2)+","//codarea del libro
                                                          +datos.elementAt(3)+",'"//matcons del libro
                                                          +datos.elementAt(4).toString()+"','"//fecha en la q se desea retirar el libro
                                                          +datos.elementAt(5).toString()+"',"//horaa en la q se desea retirar el libro
                                                          +datos.elementAt(6)+",'"//Id cliente
                                                          +"false','"//reserva cancelada , por defect false
                                                          +"false','"//indica si se transfirio a prestamo, por defecto false
                                                          +datos.elementAt(7).toString()+"');";//usuario q creo la reserva
        
        tablasYBasesdeDatos.JDBCAdapter dataBase = new tablasYBasesdeDatos.JDBCAdapter(
                                                "jdbc:postgresql://localhost:5432/everest",
                                                 "org.postgresql.Driver","postgres","root");
        int res = con.actualizar(sql);
        
        con.hacerCommit();
	con.desconectar();        
       
        return res;
    }
    
    public static java.util.Vector obtenerDatosReserva(String fecha, String hora, String areacodigo, String matcons)
    {
        String sql ="SELECT * FROM reservaslevel1 WHERE resfecha = '"
                    +fecha+"' AND areacodigo = "+areacodigo+" AND matcons ="+matcons;
        
        tablasYBasesdeDatos.JDBCAdapter dataBase = new tablasYBasesdeDatos.JDBCAdapter(
                    "jdbc:postgresql://localhost:5432/everest",
                    "org.postgresql.Driver","postgres","root");
        
        java.util.Vector datosReserva = dataBase.ConsultaIndividual(sql);
        
         try
        {
            dataBase.close();
        }
        catch(java.sql.SQLException sqle){System.err.println(sqle.getMessage());}
      
        return datosReserva;
    }
    
    public static void transferirPrestamo(Vector Datos)
    {
        Conexion conexion = new Conexion();
        conexion.conectar("everest","postgres","root");
        
        String sql = "insert into baseprincipallevel1 values (" + "'" + Datos.elementAt(0)    // basefechaentrega
                     + "','" + Datos.elementAt(1)                                             // basehoraentrega
                     + "'," + Datos.elementAt(2)                                              // cliid
                     + "," + Datos.elementAt(3)                                               // areacodigo
                     + "," + Datos.elementAt(4)                                               // matcons
                     + "," + Datos.elementAt(5)                                               // baseprestamoactivo
                     + ",'"+ Datos.elementAt(6)                                             // basefechaacordada
                     + "','" + Datos.elementAt(7)                                              // basehoraacordada
                     + "','"  + Datos.elementAt(8)                                           // nombreusuario
                     + "')";
        System.out.println("PRESTAMO: "+sql);
        if (conexion.actualizar(sql) == 0) {
            javax.swing.JOptionPane.showMessageDialog(null, "No se inserto en la  BD 1.");
        }

        conexion.hacerCommit();
        sql ="UPDATE reservaslevel1 SET resconvprest=true WHERE resfechareserva = '"
                    +Datos.elementAt(0)+"' AND areacodigo = "+Datos.elementAt(3)+" AND matcons ="+Datos.elementAt(4);
        
         if (conexion.actualizar(sql) == 0) {
             javax.swing.JOptionPane.showMessageDialog(null, "No se inserto en la BD 2.");
        }
        
        conexion.hacerCommit();
        
        sql = "UPDATE materialbibliografico SET matdsp=false WHERE " + "areacodigo=" + Datos.elementAt(3)    // areacodigo
              + " and matcons=" + Datos.elementAt(4);                                                        // matcons

        if (conexion.actualizar(sql) == 0) {
             javax.swing.JOptionPane.showMessageDialog(null, "No se inserto en la BD 3.");
        }

        conexion.hacerCommit();
        conexion.desconectar();    // metodo para desconectarse de la base de datos
    }
}
